package org.activequant.util.charting;


/**
 * Combined domain chart allows one to place several plots on the same chart, that
 * share common X axis.
 * <p>
 * Template parameter determines the type of the X-axis data (typically, one of
 * TimeStamp, Double, Integer, Long).
 * <p>
 * ICombinedDomainChart&lt;T&gt; is an interface. Defines the following method:
 * <ul>
 * <li>IPlotService&lt;T&gt; createPlot(String title, int weight, boolean rangeIncludesZero)</li>
 * </ul>
 * <b>History:</b><br>
 *  - [12.28.2007] Created (Mike Kroutikov)<br>
 *
 *  @author Mike Kroutikov
 */
public interface ICombinedDomainChart<T> {
	
	/**
	 * Adds another plot to the chart.
	 * 
	 * @param title plot title.
	 * @param weight plot weight (relative to other plots on the same chart).
	 * @param rangeIncludesZero true if you want the Y axis to include zero.
	 * @param annotatedPlot - only one plot should be annotated
	 * @return charting service.
	 */
	IPlotService<T> createPlot(String title, int weight, boolean rangeIncludesZero, boolean annotatedPlot);
}
